﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>PostSharp Samples</title>
<link href="UserGuide.css" rel="stylesheet" type="text/css">
<style type="text/css">
</style>
</head>

<body dir="ltr" lang="en-US">

<h1>Samples Index</h1>

<span class="openfloat"><a href="PostSharp-Samples.sln"><img src="vs.png" border="0" alt="">Open all samples in Visual Studio</a> </span>


<p>PostSharp comes with a set of samples that help you getting started with 
PostSharp. Samples are typically located in the <code>C:\Program Files\PostSharp 
1.0\Samples</code> 
directory. Check you have write access to that directory before trying to build 
the samples.</p>


<p>We provide the following samples:</p>
<table border="0" cellpadding="2" cellspacing="2" width="100%">
	<tr>
		<th colspan="2">Beginner</th>
	</tr>
	<tr>
		<td><a href="PostSharp.Samples.XTrace/PostSharp.Samples.XTrace.html">
		PostSharp.Samples.XTrace</a></td>
		<td>A trace aspect implemented using PostSharp 
		Laos. You can trace execution of methods in your assembly or in a 
		different assembly, and accesses to fields.</td>
	</tr>
	<tr>
		<td>
		<a href="PostSharp.Samples.Composition/PostSharp.Samples.Composition.html">
		PostSharp.Samples.Composition</a></td>
		<td>Automatic implementation of interface by object composition. 
		Composition is often referred to as an alternative to multiple 
		inheritance. Based 
		on Laos.</td>
	</tr>
	<tr>
		<td>
		<a href="PostSharp.Samples.Transaction/PostSharp.Samples.Transaction.html">
		PostSharp.Samples.Transaction</a></td>
		<td>A custom attribute that enables transaction boundaries to be 
		defined declaratively. This sample uses the<code> System.Transactions</code> 
		namespace. For VB.NET.</td>
	</tr>
	<tr>
		<td><a href="PostSharp.Samples.Cache/PostSharp.Samples.Cache.html">
		PostSharp.Samples.Cache</a></td>
		<td>A demonstration that caching can implemented using a custom 
		attribute and PostSharp Laos. Written in J#.</td>
	</tr>
	<tr>
		<td>
		<a href="PostSharp.Samples.DbInvoke/PostSharp.Samples.DbInvoke.html">
		PostSharp.Samples.DbInvoke</a></td>
		<td>&quot;DB-Invoke is to stored procedures what P-Invoke is to unmanaged 
		APIes&quot;. This sample gives a proof of concept to this ambitious motto.</td>
	</tr>
	<tr>
		<th colspan="2">Intermediate</th>
	</tr>
	<tr>
		<td>
		<a href="PostSharp.Samples.Explorer/PostSharp.Samples.Explorer.html">
		PostSharp.Samples.Explorer</a></td>
		<td>A Code Object Model explorer similar to <code>ildasm</code> or Visual Studio&#39;s 
		Object Browser, but based on PostSharp and following the low-level CIL 
		object model</td>
	</tr>
	<tr>
		<td><a href="PostSharp.Samples.Binding/PostSharp.Samples.Binding.html">
		PostSharp.Samples.Binding</a></td>
		<td>A sample <i>compound aspect</i>, that is, an aspect composed of many 
		sub-aspects. Here we demonstrate how to call an event <code>
		PropertyChanged</code> 
		automatically... when a property is changed.</td>
	</tr>
	<tr>
		<th colspan="2">Advanced</th>
	</tr>
	<tr>
		<td><a href="PostSharp.Samples.Trace/PostSharp.Samples.Trace.html">
		PostSharp.Samples.Trace</a></td>
		<td>A simple trace aspect implemented using the low-level code weaver</td>
	</tr>
	
	
	
	<tr>
		<td><a href="PostSharp.Samples.Host/PostSharp.Samples.Host.html">
		PostSharp.Samples.Host</a></td>
		<td>Demonstrates how to weave assemblies at runtime.</td>
	</tr>
	
	
	<tr>
		<td>
		<a href="PostSharp.Samples.Librarian/PostSharp.Samples.Librarian.html">
		PostSharp.Samples.Librarian</a></td>
		<td>Is a complete layered business application that illustrates the use 
		of PostSharp Laos in real-world situation.</td>
	</tr>
</table>

</body>

</html>
